package com.ixuestar.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.ixuestar.entity.Advertisingassoc;
import com.ixuestar.entity.Advertisingitems;
import com.ixuestar.entity.Advertisingschool;
import com.ixuestar.entity.BankcardInfo;
import com.ixuestar.entity.Classbean;
import com.ixuestar.entity.ClassbeanRecord;
import com.ixuestar.entity.Integraltype;
import com.ixuestar.entity.IssueclassFile;
import com.ixuestar.entity.Issueclassnotice;
import com.ixuestar.entity.PictureInfo;
import com.ixuestar.entity.Replytoclassfile;
import com.ixuestar.entity.Replytoclassnotice;
import com.ixuestar.entity.School;
import com.ixuestar.entity.SchoolClass;
import com.ixuestar.entity.SchoolGrade;
import com.ixuestar.entity.SchoolStudent;
import com.ixuestar.entity.SchoolTeacher;
import com.ixuestar.entity.Subject;
import com.ixuestar.entity.TeacherBeanRecord;
import com.ixuestar.entity.Temp;
import com.ixuestar.entity.ThprintRecord;
import com.ixuestar.entity.WechatConfig;
import com.ixuestar.entity.WithdrawalOrder;
import com.ixuestar.entity.YxAdvertising;
import com.ixuestar.entity.YxArticlesComment;
import com.ixuestar.entity.YxArticlesOtherInfo;
import com.ixuestar.entity.YxChecknotice;
import com.ixuestar.entity.YxClassClockin;
import com.ixuestar.entity.YxClassschedule;
import com.ixuestar.entity.YxEduArticles;
import com.ixuestar.entity.YxEquipment;
import com.ixuestar.entity.YxExamination;
import com.ixuestar.entity.YxFile;
import com.ixuestar.entity.YxHeadTeacher;
import com.ixuestar.entity.YxHeadtPoints;
import com.ixuestar.entity.YxIcnClass;
import com.ixuestar.entity.YxLotteryInfo;
import com.ixuestar.entity.YxLotteryPrize;
import com.ixuestar.entity.YxLotteryRecord;
import com.ixuestar.entity.YxLotterySchool;
import com.ixuestar.entity.YxMalfunction;
import com.ixuestar.entity.YxOrderClass;
import com.ixuestar.entity.YxOrderFile;
import com.ixuestar.entity.YxOrderPackage;
import com.ixuestar.entity.YxPoints;
import com.ixuestar.entity.YxPrizeInfo;
import com.ixuestar.entity.YxPromotionCode;
import com.ixuestar.entity.YxRateOfPunchin;
import com.ixuestar.entity.YxSubject;
import com.ixuestar.entity.YxTeacherClass;
import com.ixuestar.entity.YxTeacherSubject;
import com.ixuestar.entity.YxWatchAds;
import com.ixuestar.entity.YxWeeksClass;
import com.ixuestar.entity.YxWxuser;
import com.ixuestar.entity.YxWxuserCode;
import com.ixuestar.entity.YxWxuserOrder;
import com.ixuestar.entity.Yxintegralrecord;
import com.ixuestar.entity.YxteacherBean;
import com.ixuestar.entity.Yxtestscores;
import com.ixuestar.entity.Yxtorder;
import com.ixuestar.entity.YxtorderPay;
import com.ixuestar.entity.YxuserLottery;

public interface IxuestarCloudELMapper {

	//获取微信配置信息
	public WechatConfig getWechatConfig(@Param("wcName")String wcName);
	//通过手机号获取信息
	public YxWxuser getYxWxuser(@Param("map")Map<String, Object>map);
	//写入微信用户信息
	public void writeYxWxuser(YxWxuser yxWxuser);
	//更新微信用户信息
	public void updateYxWxuser(YxWxuser yxWxuser);
	//查询班主任关系表
	public YxHeadTeacher getYxHeadTeacherInfo(@Param("map")Map<String, Object>map);
	//获取学校列表
	public List<School> getSchoolInfo(@Param("map")Map<String, Object>map);
	//获取学校的年级列表
	public List<SchoolGrade> getSchoolGrades(@Param("map")Map<String, Object>map);
	//获取年级的班级列表
	public List<SchoolClass> getSchoolClasses(@Param("map")Map<String, Object>map);
	//获取班级的学生列表
	public List<SchoolStudent> getSchoolStudents(@Param("map")Map<String, Object>map);
	//获取学校的老师列表
	public List<SchoolTeacher> getSchoolTeachers(@Param("map")Map<String, Object>map);
	//获取老师教的班级
	public List<YxTeacherClass> getTeacherClasses(@Param("map")Map<String, Object>map);
	//获取老师教的班级
	public YxTeacherClass getTeacherClasse(@Param("map")Map<String, Object>map);
	//写入老师绑定信息
	public void writeTeacherClass(YxTeacherClass yxTeacherClass);
	//获取老师所教科目
	public List<YxTeacherSubject> getTeacherSubjects(@Param("map")Map<String, Object>map);
	public List<YxTeacherSubject> getTeacherSubInfo(@Param("map")Map<String, Object>map);
	//获取科目信息
	public Subject getSubjectInfo(@Param("map")Map<String, Object>map);
	//写入上传文件内容
	public void writeUploadFileInfo(YxFile yxFile);
	//获取套餐信息
	public YxOrderPackage getYxOrderPackage(@Param("map")Map<String, Object>map);
	//写入订单信息
	public void writeFileOrder(Yxtorder yxtorder);
	//获取订单详情
	public Yxtorder getYxtorderInfo(@Param("map")Map<String, Object>map);
	//写入文件和订单的关联
	public void writeOrderFile(YxOrderFile yxOrderFile);
	//写入订单和班级的关联
	public void writeOrderClass(YxOrderClass yxOrderClass);
	//写入订单和微信的关联
	public void writeOrderUser(YxWxuserOrder yxWxuserOrder);
	//订单和微信的关联
	public YxWxuserOrder getOrderUserObject(@Param("map")Map<String, Object>map);
	//写入文件和订单的关联
	public List<YxOrderFile> getOrderFile(@Param("map")Map<String, Object>map);
	//写入订单和班级的关联
	public List<YxOrderClass> getOrderClass(@Param("map")Map<String, Object>map);
	//写入订单和微信的关联
	public List<YxWxuserOrder> getOrderUser(@Param("map")Map<String, Object>map);
	//获取文件详情
	public YxFile getYxFile(@Param("map")Map<String, Object>map);
	//修改订单的打印状态
	public void updateOrderStatus(@Param("map")Map<String, Object>map);
	//写入支付的详细信息
	public void writeOrderPay(YxtorderPay yxtorderPay);
	//获取文件订单打印列表
	public List<YxOrderClass> getYxOrderClasses(@Param("map")Map<String, Object>map);
	//获取文章
	public YxEduArticles getYxEduArticlesInfo(@Param("map")Map<String, Object>map);
	//获取文章列表
	public List<YxEduArticles> getYxEduArticles(@Param("map")Map<String, Object>map);
	//观看广告者
	public void writeWatchAds(YxWatchAds yxWatchAds);
	//获取观看广告情况
	public List<YxWatchAds> getWatchAdsInfo(@Param("map")Map<String, Object>map);
	public List<YxWatchAds> getWatchAdsInfos(@Param("map")Map<String, Object>map);
	//获取学校情况
	public YxEquipment getMaintenanceOFEquipment(@Param("map")Map<String, Object>map);
	//联表查询签到情况
	public List<YxWatchAds> getYxWatchAdsList(@Param("map")Map<String, Object>map);
	//获取签到表信息1
	public YxClassClockin getYxClassClockin(@Param("map")Map<String, Object>map);
	//获取签到表列表信息
	public List<YxClassClockin> getYxClassClockins(@Param("map")Map<String, Object>map);
	//获取班级签到人数
	public Temp getClassBindingNum(@Param("ixscId")String ixscId);
	//写入签到统计表
	public void writeClassClockIn(YxClassClockin yxClassClockin);
	//更新签到统计表
	public void updateClassClockIn(YxClassClockin yxClassClockin);
	//获取年级合格率
	public YxRateOfPunchin getYxRateOfPunchin(@Param("ixsgId")String ixsgId);
	//获取文章的其他点赞信息
	public YxArticlesComment getYxArticlesCommentInfo(@Param("yeaId")String yeaId);
	//写入文章的点赞等信息
	public void writeYxArticlesCommentInfo(YxArticlesComment yxArticlesComment);
	//更新文章的点赞信息
	public void updateYxArticlesCommentInfo(YxArticlesComment yxArticlesComment);
	//获取文章的信息
	public YxArticlesOtherInfo getYxArticlesOtherInfo(@Param("map")Map<String, Object>map);
	public YxArticlesOtherInfo getYxArticlesOtherInfos(@Param("map")Map<String, Object>map);
	//写入文章的信息
	public void writeYxArticlesOtherInfo(@Param("map")Map<String, Object>map);
	//更新文章的信息
	public void updateYxArticlesOtherInfo(@Param("map")Map<String, Object>map);
	//获取积分表对象
	public YxPoints getYxPointsInfo(@Param("ixssId")String ixssId);
	//写入积分表
	public void writeYxPointsInfo(YxPoints yxPoints);
	//更新积分表
	public void updateYxPointsInfo(YxPoints yxPoints);
	//删除老师绑定的班级
	public void deleteClassTeacher(@Param("ixstId")String ixstId);
	//创建老师积分对象
	public void writeHeadtPoints(YxHeadtPoints yxHeadtPoints);
	//更新老师积分对象
	public void updateHeadtPoints(YxHeadtPoints yxHeadtPoints);
	//获取老师积分对象
	public YxHeadtPoints getHeadtPoints(@Param("ixstId")String ixstId);
	//获取广告实体
	public YxAdvertising getYxAdvertisingInfo(@Param("yasId")String yasId);
	//修改广告的展示状态
	public void updateYxAdvertisingInfo(YxAdvertising yxAdvertising);
	//获取用户的广告
	public List<YxWxuserCode> getYxWxuserCodes(@Param("map")Map<String, Object>map);
	//获取单个对象
	public YxWxuserCode getYxWxuserCode(@Param("map")Map<String, Object>map);
	//获取微信用户
	public YxWxuser getYxWxuserByType(@Param("map")Map<String, Object>map);
	//获取优惠二维码
	public YxPromotionCode getYxPromotionCode(@Param("map")Map<String, Object>map);
	//写入用户抽取优惠
	public void writeWxuserPromotionCode(YxWxuserCode yxWxuserCode);
	//修改用户的优惠码
	public void updateYxPromotionCode(@Param("map")Map<String, Object>map);
	//获取签到人员的名单
	public List<SchoolStudent> getSigninListudents(@Param("map")Map<String, Object>map);
	//获取签到表列表信息
	public List<YxClassClockin> getYxClassClockinsDate(@Param("map")Map<String, Object>map);
	//获取班主任的积分数据
//	public YxHeadtPoints getYxHeadtPoints(@Param("ixstId")String ixstId);
	//修改班主任积分
	public void updateYxHeadtPoints(YxHeadtPoints yxHeadtPoints);
	//写入银行卡信息
	public void writeBankcardInfo(BankcardInfo bankcardInfo);
	//修改银行卡信息
	public void updateBankcardInfo(BankcardInfo bankcardInfo);
	//获取银行卡信息
	public BankcardInfo getBankcardInfo(@Param("map")Map<String, Object>map);
	//写入提现信息
	public void writeWithdrawalOrder(WithdrawalOrder withdrawalOrder);
	//获取提现信息
	public List<WithdrawalOrder> getWithdrawalOrdersList(@Param("map")Map<String, Object>map);
	//获取邮件信息
	public List<Temp> getYxEmailInfo(@Param("yeType")String yeType);
	//获取广告图片
	public List<PictureInfo> getPictrueInfo(@Param("yasId")String yasId);
	
	//获取广告列表
	public List<YxAdvertising> getAdvertisings();
	//写入图片信息
	public void writeAdverPicture(PictureInfo pictureInfo);
	//写入维修信息
	public void writeMalfunction(YxMalfunction yxMalfunction);
	//获取绑定的学生信息
	public List<Temp> getClassBindingStuInfo(@Param("ixscId")String ixscId);
	//获取学校年级定义的参数
	public YxWeeksClass getYxWeeksClassInfo(@Param("ixsgId")String ixsgId);
	//写入课程信息
	public void writeClassschedules(YxClassschedule yxClassschedule);
	//修改课程表
	public void updateClasschedules(YxClassschedule yxClassschedule);
	//获取课程表
	public List<YxClassschedule> getClassschedules(@Param("map")Map<String, Object>map);
	//获取科目
	public List<YxSubject> getYxSubjectsInfo(@Param("map")Map<String, Object>map);
	//写入通知信息
	public void writeIssueclassnotice(Issueclassnotice yxIssueclassnotice);
	//修改通知状态
	public void updateIssueclassnotice(Issueclassnotice issueclassnotice);
	//获取通知信息
	public List<Issueclassnotice> getYxIssueclassnotices(@Param("map")Map<String, Object>map);
	//写入关系通知
	public void writeYxIcnClassesInfo(YxIcnClass yxIcnClass);
	//获取通知与班级关联信息
	public List<YxIcnClass> getYxIcnClassesList(@Param("map")Map<String, Object>map);
	//写入上传的文件信息
	public void writeYxIssueclassfiles(IssueclassFile issueclassFile);
	//获取上传的文件信息
	public List<IssueclassFile> getIssueclassFilesList(@Param("map")Map<String, Object>map);
	//修改文件信息
	public void updateIssueclassFiles(@Param("map")Map<String, Object>map);
	//写入回复
	public void writeReplytoclassnotice(Replytoclassnotice replytoclassnotice);
	//获取班级通知
	public List<Replytoclassnotice> getReplytoclassnotices(@Param("map")Map<String, Object>map);
	//写入文件信息
	public void writeReplytoclassfile(Replytoclassfile replytoclassfile);
	//获取回复文件
	public List<Replytoclassfile> getReplytoclassfiles(@Param("map")Map<String, Object>map);
	//修改文件外键
	public void updateReplytoclassfiles(@Param("map")Map<String, Object>map);
//	//获取联表查询的结果
//	public List<YxIcnClass> getYxIcnClasses(@Param("map")Map<String, Object>map);
	//写入观看记录
	public void writeChecktheNotice(YxChecknotice yxChecknotice);
	//获取查看记录
	public List<YxChecknotice> getYxChecknoticesInfo(@Param("map")Map<String, Object>map);
	//查询签到表
	public List<SchoolStudent> getSchoolClockinStudents(@Param("map")Map<String, Object>map);
	//查询绑定人数
	public List<SchoolStudent> getBindSchoolStudentInfo(@Param("map")Map<String, Object>map);
	//获取积分对象
	public Integraltype getIntegraltypeInfo(@Param("map")Map<String, Object>map);
	//获取所有通知列表
	public List<Issueclassnotice> getAllIssueclassnotices(@Param("map")Map<String, Object>map);
	//获取已查看通知列表
	public List<Issueclassnotice> getCheckIssueclassnotices(@Param("map")Map<String, Object>map);
	//获取未查看的通知列表
	public List<Issueclassnotice> getNocheckIssueclassnotices(@Param("map")Map<String, Object>map);
	//写入考试信息
	public void writeExaminations(YxExamination yxExamination);
	//写入分数信息
	public void writeTestScores(Yxtestscores yxtestscores);
	//获取最高 最低 平均分数
	public Temp getScoresavgmaxmin(@Param("yenId")String yenId);
	//获取成绩信息
	public YxExamination getYxExaminationInfo(@Param("yenId")String yenId);
	public List<YxExamination> getYxExaminations(@Param("map")Map<String, Object>map);
	//获取成绩列表
	public List<Yxtestscores> getYxtestscores(@Param("map")Map<String, Object>map);
	public List<Yxtestscores> getYxtestscoreList(@Param("map")Map<String, Object>map);
	//修改考试信息
	public void updateExaminationInfo(YxExamination yxExamination);
	//修改分数信息
	public void updateTestscoreInfo(Yxtestscores yxtestscores);
	//获取打卡信息
	public List<YxWatchAds> getWatchAdsList(@Param("map")Map<String, Object>map);
	//获取积分记录
	public Yxintegralrecord getIntegralrecord(@Param("map")Map<String, Object>map);
	//写入积分记录
	public void writeIntegralrecord(Yxintegralrecord yxintegralrecord);
	//获取发布通知的记录
	public List<Issueclassnotice> getIssueclassnotices(@Param("map")Map<String, Object>map);
	//获取发布成绩的记录
	public List<YxExamination> getExaminations(@Param("map")Map<String, Object>map);
	//获取学校年级的抽奖条目
	public YxLotterySchool getLotterySchool(@Param("map")Map<String, Object>map);
	//获取抽奖详细信息
	public YxLotteryInfo getYxLotteryInfo(@Param("ylId")String ylId);
	//获取详细的奖品信息
	public YxLotteryPrize getYxLotteryPrize(@Param("map")Map<String, Object>map);
	public List<YxLotteryPrize> getYxLotteryPrizes(@Param("map")Map<String, Object>map);
	//获取详细的奖品信息
	public YxPrizeInfo getPrizeInfo(@Param("ypId")String ypId);
	//写入抽奖信息
	public void writeWxuserPrizeInfo(YxuserLottery yxuserLottery);
	//获取抽奖列表
	public List<YxuserLottery> getYxuserLotteries(@Param("map")Map<String, Object>map);
	//写入抽奖记录
	public void writeYxLotteryRecord(YxLotteryRecord yxLotteryRecord);
	//获取抽奖次数
	public List<YxLotteryRecord> getYxLotteryRecords(@Param("map")Map<String, Object>map);
	//获取关联抽奖
	public List<YxuserLottery> getAllYxuserLotteries(@Param("map")Map<String, Object>map);
	//获取学校关联的广告条目
	public Advertisingschool getAdvertisingschool(@Param("ixsId")String ixsId);
	//通过实体获取广告条目
	public Advertisingitems getAdvertisingitems(@Param("yaiId")String yaiId);
	//获取广告条目关联的广告详情
	public List<Advertisingassoc> getAdvertisingassocs(@Param("map")Map<String, Object>map);
	//获取科目列表
	public List<Temp> getSubjectList(@Param("ysPhases")Integer ysPhases);
	//获取班级豆的数量
	public Classbean getClassbeanInfo(@Param("ixscId")String ixscId);
	//创建班级豆信息
	public void writeClassbeanInfo(Classbean classbean);
	//修改班级豆信息
	public void updateClassbeanInfo(Classbean classbean);
	//写入记录信息
	public void writeClassbeanRecord(ClassbeanRecord classbeanRecord);
	//获取打印扣除
	public ClassbeanRecord getClassbeanRecordInfo(@Param("map")Map<String, Object>map);
	public List<ClassbeanRecord> getClassbeanRecordList(@Param("map")Map<String, Object>map);
	//写入老师打印记录
	public void writeYxteacherPrintRecord(ThprintRecord thprintRecord);
	//获取老师的打印记录
	public List<ThprintRecord> getThprintRecords(@Param("map")Map<String, Object>map);
	//创建老师打印豆信息
	public void writeYxteacherBeanInfo(YxteacherBean yxteacherBean);
	//获取老师打印豆信息
	public YxteacherBean getYxteacherBeanInfo(@Param("ixstId")String ixstId);
	//修改老师打印豆的信息
	public void updateYxteacherBeanInfo(YxteacherBean yxteacherBean);
	//写入老师打印豆的积累条目
	public void writeYxteacherBeanRecord(TeacherBeanRecord teacherBeanRecord);
	//获取老师打印豆的条目信息
	public TeacherBeanRecord getTeacherBeanRecord(@Param("map")Map<String, Object>map);
	//删除订单记录
	public void deleteWxuserorder(@Param("ytoId")String ytoId);
	//获取打印豆
	public Temp getClassPrintBean(@Param("ixscId")String ixscId);
	public Temp getTeacherPrintBean(@Param("ixstId")String ixstId);
	//获取是否获奖
	
}
